﻿using MiniFox.Components;
using MiniFox.Infrastructure;
using Repository.Core.Models.Dto;
using Repository.Core.Models.Queries;
using Repository.Core.Models.VO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Repository.Core.Providers
{
    [AutoRegister]
    public interface IWorkSpaceProvider
    {
        ResultObject<IEnumerable<WorkItemVo>> Query(string repoName, string userId, PagedQueryObject<CommonQuery> query);

        WorkItemVo Item(string repoName, string userId, string name);

        bool Create(string repoName, WorkItemDto dto);

        bool Update(string repoName, WorkItemDto dto);

        bool Delete(string repoName, string userId, string name);
    }
}
